package main.java.indi.zyj.hot100;

import main.java.indi.zyj.hot100.base.ListNode;

public class _24_addTwoNumbers {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {

        ListNode head  = new ListNode(-1);
        ListNode cur = head;
        int carry = 0;

        while (l1 != null || l2 != null) {

             int x =  l1 == null ? 0 : l1.val;
             int y =  l2 == null ? 0 : l2.val;

             int number = x + y + carry;
             carry = number / 10;
             number = number % 10;

             ListNode p = new ListNode(number);
             cur.next = p;
             cur = cur.next;

            if(l1 != null)
                l1 = l1.next;
            if(l2 != null)
                l2 = l2.next;
        }

        if(carry == 1) {
            cur.next = new ListNode(carry);
        }
        return head.next;

    }
}
